introduce module descriptor class