abstract buses, add sample triggers