add checklist
add a lot function