more colors and some optimization/tweaking