basic env, and function call support