Implement the mem_decoder.
TODO: test it