chuya's version
add parse