new idea for multithreading

use a single TVar that object, might have an issu with speed