Tap output based off existing tap branch

Per #3 and then #7, here's a new TAP patch that is based off the main tap branch.  Has a few bug fixes over the request on #7