todo task 12, task 10 almost finish
todo task 12