greatly refactored creating objects from assert-syntax specifications