SPN generator