added enough changes to pyper that I include it here