now just only the fn/state body is evaluated at first, then is carried over to the definition node; the definition nodes serve as the output buffers