Copyright (C) <years> Craig Markwardt
This software is provided as is without any warranty whatsoever.
Permission to use, copy and distribute unmodified copies for
non-commercial purposes, and to modify and use for personal or
internal use, is granted. All other rights are reserved.