added benchmarking (thanks Adam!)