add parallelation and some numpy part 1