first draft
add data process