erased competing function