updated example to use new component architecture