map-filter-reduce

Signed-off-by: Sterncat <alex.fanxing@gmail.com>