update colors dynamically