public function translate($shift, $y = null, $z = null)
  {
    if($shift instanceof self)
      return new static($this->gps['x'] + $shift->gps['x'], $this->gps['y'] + $shift->gps['y'], $this->gps['z'] + $shift->gps['z']);
    else
      return new static($this->gps['x'] + $shift, $this->gps['y'] + $y, $this->gps['z'] + $z);
  }