first commit three functions complete