How does the dynamic contract work?