++readme and tightened up error handling