First working 20141204
Parallelized 20141204