created the module framework