do smoe changes (微软的编译器不给力@ @)