add register, remove preload
add widget