add setColors to builder, many refactoring