support for reactive
tidy
use component/domify