Fullfilled all TODOs and refactored User class

Fullfilled all TODOs and refactored User class