bug fixes, refactored benchmark enabled mulitprocessing though seems to be quite slower and adds some errors due to the nature of floating point numbers ...