modified eval to handle multithreading
added for each node