Add main gen, sign, verify