refactor the first task