bug fixes + have something actually use reduce()