update
use map reduces