initial commit and tests