refactored benchmark and problem