return the function