add :child_fields option