feat: add a demo and modal controller #1