Different data structure and algorithm implementation. Plan to release it for educational purpose later.