change colors and support more sub commands