introduced two new benchmark interfaces

threaded and non-threaded benchmarks should now use the appropriate
interface to inherit from