add nib dependency
refactor due to not supported root compnent
cannot use root component for public components