working on methods in the implementation