separate Environment and SmallEnvironment