made fields required, added several comments