Coloring Update

Similar to the initial work, but added a little documentation and some
changes to loops in order to make it a little faster