finished all the function