Big refactoring, mainly for selecting colours