dependency architecture