refactored webuser class