rip out everything, replace with custom-built riemann events for each channel type