Add color history and refactor stuff

as the teens would say, yo-lo