now implementing distributed simulator