add recursive procedure to repo