refactoring WIP
WIP. Stashing this to switch to another feature.
Fixed the User refactoring bugs. Thank you stack overflow.