dynamic modules based on config