user data entry refactoring