# Pallet Design

The *How-to* guides in the *Pallet design* category illustrate how you can incorporate specific pallet features when building a custom runtime.

* [Implement lockable currency](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/implement-lockable-currency)
* [Incorporate randomness](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/incorporate-randomness)
* [Configure crowdfunding](https://github.com/InfraBlockchainTeam/infrablockspace-docs/blob/master/en/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/configure-crowdfunding.md)
* [Create a storage structure (struct)](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/create-a-storage-structure)
* [Use tight pallet coupling](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/use-tight-coupling)
* [Use loose pallet coupling](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/use-loose-coupling)
