environment supports both hash and array