use multi core if avaliable