Implemented most suggestions