---
description: When advanced integration makes sense?
---

# Why Advanced Integration?

_**Advanced integration can be reasonable when:**_

* you want to minimize code(skip inheriting `MicapassBasicClient`) and implement only needed interaction with Micapass smart contract
* there is need to implement more complex logic for the user checks (no need of modifiers, can be implemented through conditions in the method logic)
  * as an example - the case when depending on the fact whether user has specific proof or not - the different logic should be executed
  * as an another example - depending on amount of deposit we should check different proofs:
    * for example if > 1 eth - we should check KYC and Wallet sanctions screening, if less - only Wallet sanctions screening
* when the number of proofs to check is big enough (it means that the number of modifiers for method will depend on it) or if the proofs requirements are configurable dynamically (it means that you can not hardcode it through modifiers)
