splitted tasks for easy testing