public void setExecFreq(double freq) throws IllegalArgumentException {
        if (freq > 300 || freq < 0) throw new IllegalArgumentException("And what do you think you are doing, hmm?");

        ExecService.shutdown();
        ExecService = Executors.newSingleThreadScheduledExecutor();
        if (freq == 0) return;
        ExecService.scheduleWithFixedDelay(this, 0, Math.round(1E6 / freq), TimeUnit.MICROSECONDS);

    }