+Introduce module types and a new resolver pattern