colour logic