How to do Custom Commitments