add blurring and refactoring