lots of changes
merged changes