New sobel implementation