implement basic transformations