lot of changes
merged changes