env detection