First working version!

All that remains now is some more testing and color adjustments.