pretty much everything is working, could use some client side validation to keep trash out of db