First stage, all grayscale operations working