almost done, added colored and plain functions