implemented proper OrderedDict channels() and fixes. Final commit? :D