refactored widget construction; added channels