the first commit, for adding the functions