started encapulating shader things