almost done
merged