refactor, added colors, etc.