add procedures into task 4