support msvc; add core_md5