improvement on user object