Implements mulitple environments