PAN generation