really need to get this shader business sorted