all subclasses now use makeSubclass