Implemented all functionality
Finished task, without any code cleanup