still needs more clean up
fixed coloring