better readme and error handling