added cocurrency
Added Numpy to improve performance