initial commit with complete test suite