Copyright (c) 2011,2017 Douglas Miller durgadas311@gmail.com Permission to modify and/or redistribute is granted provided no fee is charged, original copyright messages are included, and modifications are submitted back to original author.