better colour generation