added specific error codes and descriptions.  added python exception handling/  not fully tested, only partially