recursiv using the fact that the list is ordered