change PrivateKey object & add functions