public void update(float deltaTimeElapsedMs) {
		// Moves character or scrolls background accordingly

		if (speedX < 0) {
			centerX += Util.factorByElapsedTimeMs(speedX, deltaTimeElapsedMs);
		}
		if (speedX == 0 || speedX < 0) {
			bg1.setSpeedX(0);
			bg2.setSpeedX(0);

		}
		if (centerX <= 200 && speedX > 0) {
			centerX += speedX;
		}
		if (speedX > 0 && centerX > 200) {
			bg1.setSpeedX(-MOVESPEED / 5);
			bg2.setSpeedX(-MOVESPEED / 5);
		}

		// Updates Y Position
		centerY += Util.factorByElapsedTimeMs(speedY, deltaTimeElapsedMs);

		// Handles Jumping
		speedY += 1;

		if (speedY > 3) {
			jumped = true;
		}

		// prevents going beyond coordinate of 0
		if (centerX + speedX <= 20) {
			centerX = 21;
		}

		Rectangle entirePlayerRect = boundaries.get(0);
		entirePlayerRect.setRect(centerX - 20, centerY - 20, 40, 40);
		Rectangle leftSidePlayerRect = boundaries.get(1);
		leftSidePlayerRect.setRect(centerX - 20, centerY - 20, 20, 40);
		Rectangle rightSidePlayerRect = boundaries.get(2);
		rightSidePlayerRect.setRect(centerX, centerY - 20, 20, 40);

		perimeter.setRect(centerX - 110, centerY - 110, 180, 180);

		// footLeft.setRect(centerX - 50, centerY + 20, 50, 15);
		// footRight.setRect(centerX, centerY + 20, 50, 15);

		currentSprite.getAnimation().update(50);
	}