initial commit - worked on having tests pass