refactor augment function to accept multiple mixins