refactored all forms