First commit after modifying Chris Pick's file. Note that most of this is not my work. I am simply using his code for my project foundation. Will modify it in the future.