Verified issue #5 causes no harm. Added async support.