Complete implementation of methods - all tests pass