Updated with support for colors