Work on registers and coloring

Just outlined in comments so far