change the function name to make it easier to understand and add more
comments.