all func finished