use component/to-function