update new source & add map[int] support