more bill refactoring