replacing Encoder/Decoder interfaces with Converter interface