refactor out color service