lots of changes
merged