updated with form object, jasmine tests, and updated docs