fix 1-2
merge
compile
fix 3-4