Added support for asynchronous decoding.
Added support for asynchronous encoding.
Updated documentation
fixed merge conflict