dynamic environment selection