pin generation