template camera class