restructured recursive camera setup