added smart transform implementation