Implemented all the modules