begin refactor of shader pipeline