Reorganized and added new soources with dependencies