public void load() throws ContainerDatabaseException {
		try {
			this.database.load();
		} catch (IOException ex) {
			throw new ContainerDatabaseException(ex);
		}
		
		// get dispensers
		Map<String, YAMLNode> containers = this.database.getNodes("containers"); // XXX: This is already named containers as we plan to make multiple container types infinite!
		
		try {
			for(Map.Entry<String, YAMLNode> container : containers.entrySet()) {
				String key = container.getKey();
				YAMLNode node = container.getValue();
				
				try {
					// get parameters
					Location location = new Location(plugin.getServer().getWorld(UUID.fromString(node.getString("world"))), node.getDouble("x"), node.getDouble("y"), node.getDouble("z"));
					
					// create dispenser
					InfiniteContainer dispenser = new InfiniteContainer(location, node.getInt("cooldown"));
					
					// store
					this.containerList.add(dispenser);
				} catch (NullPointerException ex) {
					this.logger.info("Got malformed container data for element " + key + "! Ignored item.");
				}
			}
		} catch (NullPointerException ex) {
			this.logger.info("Got an empty container file. Nothing to load.");
		}
	}