added fold to either and result