Implemented all the things