broke form submit but has better architecture