implement main bus