refactored encdec_provider
data block appending implemented