commit with a lot of ways to solve the problem (with benchmark)