passing lambdas, can't capture the environment