add Bus and branch plus supporting classes
add Bus and branch plus supporting classes