Re factor structure