Implemented methods and tests