First pass at uniform setup (targeting separable programs).  Next is program/pipeline bits.