Rename some functions to make the explanation clearer
Done?