added syntax for specifying intermediate assignments by prefixing them with 'tmp'