move stuff around, add function call exprs