Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com Copyright (c) 2014 Jonathan Ong me@jongleberry.com