added multi-threading: a thread is kicked off for every precondition