final version
shader code