modified core to support download modules feature. also added a new class for linking the libraries that download modules