add string code generation
last expression now assigns correctly on return value