split class and interface patters in preparation for adding extends and implements