make monoid as a parameter class