extend modules on the basis of their dependencies (#1 #8)