adding inductive defs
trying to do definitions right
added definition subclasses