slight changes and benchmark