begin slightly revised framework