some nice cleanup w/ switch, and first try at channel/packet pattern