restructure dependency modules