rename classes to Decoder and Encoder so it makes sense if namespacing with import as.