refactored furi generation