merged from MSopen