form action refactor
still refactoring