public void respawn(PlayerSprite s) {
    // find lastest checkpoint spawn ani increment
    Checkpoint c = checkpoints.get(s.getLatestCheck());
    int spawn = c.getMostRecentSpawn();
    c.incMostRecentSpawn(1);

    // zero all velocity
    s.setVel(0);
    s.setVelX(0);
    s.setVelY(0);

    // reset faceAngle based on checkpoint orientation
    switch (c.getDirection()) {
      case "UP":
        s.setFaceAngle(270);
        break;
      case "DOWN":
        s.setFaceAngle(90);
        break;
      case "LEFT":
        s.setFaceAngle(180);
        break;
      case "RIGHT":
        s.setFaceAngle(0);
        break;
    }

    // reposition
    s.setX(c.getSpawnXs()[spawn]);
    s.setY(c.getSpawnYs()[spawn]);
  }