using anonymous func channel