initial commit, all unit tests passing