finished up channels framework