added a lot of form stuff