functionality and basic test suite in place