new recap view + controller function