you can write this task without threads