Additional task 3, work not so good as i expect.