implement test; tests pass