Updated to add greyscale, colors and reduce funks.