added the poisoned field, and support for it in constructors