add decoderReader function type