Initial Commit

Initial Commit, new code is currently broken.