refactoring for different use cases. bills