fixed hasfields,withfields,object,reduce