update public key
partial redesign
partial redesign