edge detection works