added sphere-cylinder intersection