change the way to handle errors
v0.0.2