Task1: main part