Changes in version 0.99.8 - Add partition algorithm in phase 1 and phase 2. Changes in version 0.99.4 - Update algorithm in phase 1 to improve speed.