add incremental unpacking interface