generic shader handler working!