changed DB channels to use events rather than polling