component

add component factory
rename the loader