How to create custom interactions?