reimplemented curvature approximation via shell_factor