adding edge detection