new structure
fix merge conflict