re-build dependencies to declare by codes
add few validation points for building tree
add annotation
initial skeleton refactoring for data installer