colors and refactor