refactoring user forms