semi working shader