only load channel data when needed