# \[Cadence\] How to enforce that a user cannot own more than 1 resource

**URL:** <https://forum.flow.com/t/cadence-how-to-enforce-that-a-user-cannot-own-more-than-1-resource/5594>\
**Category:** 🛠️ Builders\
**Tags:** cadence\
**Created:** [January 18, 2024, 8:36am UTC](https://forum.flow.com/t/cadence-how-to-enforce-that-a-user-cannot-own-more-than-1-resource/5594 "2024-01-18T08:36:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![vali](https://avatars.discourse-cdn.com/v4/letter/v/839c29/32.png) [@vali](https://forum.flow.com/u/vali)\
**Post date:** [January 18, 2024, 8:36am UTC](https://forum.flow.com/t/cadence-how-to-enforce-that-a-user-cannot-own-more-than-1-resource/5594/1 "2024-01-18T08:36:25Z")

</div>

Hi,  
My contract `C` defines a resource of type `T`.  
Is there any design pattern to enforce the following requirement:

> An account cannot own more than 1 resource of type `T` from my contract `C`

?

Specifically, I want to avoid the case of the account storing several resources `T` from `C` at distinct storage paths.

Would an approach be to have a dict{address:uuid} `D` in `C` and add checks based on `D` in the init() and destroy() functions of `T`?
