Copyright (c) 2006 - 2009 Zachary A Anker <zach.anker@gmail.com>
