some initial work towards custom channels