changes to the core of the User class and how it gets data