add onProcess
add resumable io