added transformer interface, compiler plugin