make the function more clear