where is this function used?