add the docs and use convey package to write unit testing
add error handing for Sequential mode