improved benchmark framework (tested)