more bus refactoring