Environment

Rest of implementation - environment