Added blur in shader and some refactoring