more fine grained dependencies structure