add more function for user