add explanation and change function name