Colors and support code along with some refactorin