refactoring surface for smooth surface (split surface for more segments)
refactor ribbon