private void createLevel() { 

		// flappy Bird ------------------------------
		bdef = new BodyDef();
		bdef.type = BodyType.DynamicBody;
		bdef.position.set(-.58f, .05f);

		PolygonShape shape = new PolygonShape();
		shape.setAsBox(.08f, .05f);

		fdef = new FixtureDef();
		fdef.shape = shape;
		fdef.filter.categoryBits = BIT_PLAYER;
		fdef.filter.maskBits = BIT_WORLD;

		flappyBird = world.createBody(bdef);
		flappyBird.createFixture(fdef).setUserData("player");		

		// ground -----------------------------------
		bdef.type = BodyType.StaticBody;
		bdef.position.set(0, -.925f);

		shape.setAsBox(2, .1f);
		fdef.shape = shape;
		fdef.filter.categoryBits = BIT_WORLD;
		fdef.filter.maskBits = BIT_PLAYER;

		levelGround = world.createBody(bdef);
		levelGround.createFixture(fdef).setUserData("world");

		// roof -------------------------------------
		bdef.position.set(0, 1.41f);		

		levelFloor = world.createBody(bdef);
		levelFloor.createFixture(fdef).setUserData("world");

		// pipes ------------------------------------
		pipeHeight = .8f;
		pipeWidht = .15f;
		numPipes = 6;
		shape.setAsBox(pipeWidht, pipeHeight);
		pipes = new Body[numPipes];

		for(int i = 0; i < pipes.length; i++) { // generate pipes
			bdef.position.set(1+.45f*i,	1);
			pipes[i] = world.createBody(bdef);
			pipes[i].createFixture(fdef).setUserData("world");

			if(i % 2 == 0){	// top pipe
				pipes[i].setTransform(
						pipes[i].getPosition().x,
						MathUtils.random(1.8f, .85f),
						pipes[i].getAngle()
						);
			}
			else { // bottom pipe
				y = pipes[i-1].getPosition().y - 2.3f;
				x = pipes[i-1].getPosition().x;
				pipes[i].setTransform(
						x,
						y,
						pipes[i].getAngle()
						);
			}
		}
	}