Improved task 26, 27, 28