add better error message for synchronous pouch
refactor so the synchronous Pouch is the standard Pouch, async Pouch is now AsyncPouch