added compute shader functionality