do we need a separate interface for this ?