use traits for implementing different behaviour if encoding of input/output are the same (direct copy without encoding/decoding in this case)