Refactor exp-optimizer by data-driven