modify libraries and tests to use asynchronous io
add extra usps test case