environment passing all the way through