reorganise env, channel how functionality is exposed