# Complementary Holochain features - [Encryption](https://docs.rs/hdk/0.0.114/hdk/x_salsa20_poly1305/fn.x_salsa20_poly1305_encrypt.html) and [signatures](https://docs.rs/hdk/0.0.114/hdk/ed25519/fn.sign.html): basic signing and encryption using public/private keys. - [Bridge calls](https://docs.rs/hdk/0.0.114/hdk/p2p/fn.call.html): call from one DNA to another DNA **inside the same conductor**. - [Call remote](https://docs.rs/hdk/0.0.114/hdk/p2p/fn.call_remote.html): call from one agent to another agent **inside the same DNA**. - [Countersignature](https://docs.rs/hdk/0.0.114/hdk/prelude/countersigning/index.html): easy way to create a countersigned entry with multiple parties. - [Scheduling](https://docs.rs/hdk/0.0.114/hdk/prelude/schedule/index.html): schedule a function execution in the future. - [Membrane proofs](https://docs.rs/hdk/0.0.114/hdk/prelude/type.MembraneProof.html): arbritrary data that the DNA can require in order to enter the DNA. If the DNA require a membrane proof and the agent doesn't provide it, the agent can't join the DNA. - [DNA properties](https://docs.rs/hdk/0.0.114/hdk/prelude/struct.DnaInfo.html): arbritrary key/value pairs that you can use to configure the DNA. This will affect the hash of the DNA, so two DNAs with the same code and different property will have different DNA hashes. - Cloning DNAs: create a clone of a DNA with some property changed. - post_commit: callback that will be executed just after committing anything to the source chain