implement shared environments