cleaned up color generation