outer and inner