Eliminating a lot of superfluous variable and getting ride of User inheritance