A same offline work I done:
1. algorithm is finished, but it is not optimal solution.
2. optimization is needed.
3. more tests are needed.
4. more documentation is needed.