Merged with some local en external cchanges