reorganising codec classes
working on codec classes