stupid recursive loops