Implemented the rest of file