added error handling and colors wooo