user form refactor