restructuring some stuff in prep for multi-channel support