add ViewManager
add some use of annotation
long time to commit