updated evaluation to ensure variables don't get created outside of assignments