reorganize function start
add comment