add multi set and fix minor bug