Changed the way implicit definitions and modules are handled