Implemented all methods