theory class structure