refactor default color impl