added support for propogating poison
added handler code for poisoning, documentation notes when the caller must detect poisoning, and notes on future work to do