10: initial task, with sub-functions
10: initial task, with sub-functions