merged all changes

merged all changes