0.0.1 TODO: Describe initial release. 0.0.4 TODO: mprove the performance. 0.0.5 TODO: mprove the performance. ignore first zero 0.0.6 TODO: mprove the performance. ignore first zero