basic idea for synth
more operator overloading
more transform magic
add some other useful functions