split example and benchmark + refactoring