> For the complete documentation index, see [llms.txt](https://docs.shadow.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shadow.xyz/modify-contracts/how-tos.md).

# How to's

For a 5 minute guide on how to modify a simple contract, see our [Quickstart](/quickstart.md).

In this more advanced section, we'll go through how to modify contracts on your shadow fork that use design patterns that are commonly found in the wild:

1. [Shadowing proxy contracts](/modify-contracts/how-tos/proxy-contracts.md) that delegate call to implementation contracts.&#x20;
2. [Using oracles on your shadow fork](/modify-contracts/how-tos/using-oracles.md) to get token prices in USD, without using offchain price APIs.
3. [Shadowing a factory contracts](/modify-contracts/how-tos/factory-contracts.md) and applying modifications to all child contracts it has created.
4. [Writing interdependent shadow contracts](/modify-contracts/how-tos/interdependent-shadow-contracts.md) that call new functions from another shadow contract.

{% content-ref url="/pages/Sp0bJpkykgCRdeygwpG0" %}
[Proxy contracts](/modify-contracts/how-tos/proxy-contracts.md)
{% endcontent-ref %}

{% content-ref url="/pages/uXC0h2NnmljkUp8LB2b5" %}
[Using oracles](/modify-contracts/how-tos/using-oracles.md)
{% endcontent-ref %}

{% content-ref url="/pages/DwRnZfiwXYXUqbmlAcWT" %}
[Factory contracts](/modify-contracts/how-tos/factory-contracts.md)
{% endcontent-ref %}

{% content-ref url="/pages/fRTARKHTe2Y0wR8yJcII" %}
[Interdependent shadow contracts](/modify-contracts/how-tos/interdependent-shadow-contracts.md)
{% endcontent-ref %}
