initial commit of the original project
Modified code to support separate class files and namespacing
spelling, I'm such a dumbass