adding an interface for transformations