User Object ReFactored