add user model methods
add meta-programming on user model