refactored color interpolation out to utils