fix logic errors, dscl only works at Mac, make those function with it more portable, and colors