updated with poison reverse