Implemented all Requirements