improve performance with native createElement()