changed structure
fixed conflicts