some improve of MapSelect