tasks #23,#24,#26