adding monoids, just because