Implemented the rest of the methods