manually applied pull request to parameterize class with more options