add in inject / reduce