public function start($name, $preset = null, $isGlobalStart = false)
    {
        if(!$this->isEnabled()) return;

        // if(empty($name))
        //     throw new BenchmarkException("Empty timer name!");
        //
        // $name = $this->uniqueTimerName($name);

        $t = $this->getTime();

        $this->timers[$name] = array(
            'name'        => $name,
            // 'start'       => $preset == null ? $t : $preset,
            // 'end'         => null,
            'time'        => $preset == null ? $t : $preset,
            'aggregate'   => null,
            // 'checkpoints' => array()
        );

        if (!$this->globalMode && $isGlobalStart) {
            $this->globalMode = true;
            $this->firstTime  = $this->timers[$name]['time'];
        }

        return $name;
    }