fix validation to take in json instead of description, add tests for base_form