interfaces reflect the subclassing