extract superclass for composer