add modelprovider
update componentfactory
add modelprobider dep