add map/reduce/filter supporting using reflect in go