add to_s for colors and directions
fix issue with program context; show error if any in cli