merged all changes with master code