refactor benchmark main loop interaction