use recursive div struct