environment protocol