adding structure and generate personal public key