Forked IPN Class with some revisions/improvements