Copyright (c) 2014 Xan Tronix. Distributed under the terms of the MIT license.