2) we return it here the first time this is called