refactor generators. add color lerp ability