edited again
merged by hand