return new PrivateModule() {
@Override
protected void configure() {
// NOTE: order is important due to dependencies between modules
Map<String, DatasetModule> defaultModules = Maps.newLinkedHashMap();
defaultModules.put("orderedTable-leveldb", new LevelDBOrderedTableModule());
defaultModules.put("metricsTable-leveldb", new LevelDBMetricsTableModule());
defaultModules.put("core", new CoreDatasetsModule());
defaultModules.put("aclTable", new ACLTableModule());
bind(new TypeLiteral<Map<String, ? extends DatasetModule>>() { })