Updates to provide better error handling
Added better color matching (thanks to bjohnso5)
Overall code cleanup