private static Member getMember(Element data) {
		String name = getTextValue(data, "name");

		String type = data.getAttribute("type");
		String bs;
		int id, width, height;
		int bx, by, bw, bh;

		width = getIntValue(data, "width");
		height = getIntValue(data, "height");

		Bounds b;

		if (getTextValue(data, "bounds") == null) {
			bx = getIntValue(data, "bx");
			by = getIntValue(data, "by");

			bw = getIntValue(data, "bw");
			bh = getIntValue(data, "bh");
			b = new Bounds(bx, by, bw, bh);
		} else {
			bs = getTextValue(data, "bounds");
			b = bounds.get(bs.trim());
		}

		id = getIntValue(data, "id");

		int attack, def, speed, health, moveSpeed, mana, size;
		attack = getIntValue(data, "attack");
		def = getIntValue(data, "defence");
		speed = getIntValue(data, "speed");
		health = getIntValue(data, "health");
		moveSpeed = getIntValue(data, "movespeed");
		mana = getIntValue(data, "mana");
		size = getIntValue(data, "size");

		String imgName;
		imgName = getTextValue(data, "img");

		PhysicsComponent physics = new PhysicsComponent();

		physics.setBounds(b);

		GraphicsComponent graphics = new GraphicsComponent();

		graphics.setWidth(width);
		graphics.setHeight(height);

		Animation a = new Animation(0, false);
		a.addImage(imgName);
		graphics.addAnimation("default", a);

		switch (type) {
		case "Player":
			Player p = new Player(physics, graphics, new InteractComponent(),
					new AttackComponent(), new NPCInput());

			(p.get(AttackComponent.class)).setHealth(health);
			(p.get(AttackComponent.class)).setMana(mana);

			Stats ps = new Stats();

			p.setType(type);
			ps.attack = attack;
			ps.def = def;
			ps.speed = speed;
			ps.health = health;
			ps.moveSpeed = moveSpeed;
			ps.mana = mana;

			p.setStats(ps);

			p.setName(name);

			TypeMaker.addPlayer(id, p);

			return p;
		case "Container":
			Container container = new Container(physics, graphics,
					new ContainerInteract());
			container.setType(type);
			container.setSize(size);
			container.setName(name);
			TypeMaker.addContainer(id, container);
			Console.log("created container " + name, in.INFO);
			return container;
		case "Item":
			Item i = new Item(physics, graphics, new ItemInteract());

			Stats is = new Stats();

			i.setType(type);
			is.size = size;
			is.attack = attack;
			is.def = def;
			is.speed = speed;
			is.health = health;
			is.moveSpeed = moveSpeed;
			is.mana = mana;

			i.setStats(is);

			i.setName(name);
			TypeMaker.addItem(id, i);
			return i;
		case "Prop":
			Prop prop = new Prop(physics, graphics, new InteractComponent());

			prop.setType(type);
			prop.setName(name);

			TypeMaker.addProp(id, prop);
			return prop;
		case "Decoration":
			Decoration decor = new Decoration(physics, graphics);

			decor.setType(type);

			decor.setName(name);

			TypeMaker.addDecoration(id, decor);
			return decor;
		default:
			return null;
		}
	}