rewrote statements and expressions