demo for component wrapping and invoking