partially fixes #36 (works for now, more work needs to be done on validations)