support listen callback and error handling
v0.7.2