Environment constructor