Final version. Minor changes and benchmark-script added.