stable sort; default arder by color