First commit, cleaned up source