add openuri
add some common error handling
update readme