Implemented all of the work done by me and Ben.