very big update, added a form