refactored, autocolor