add a lot of transistor work