The code needs some cleanup, and long-need optimizations; this is the issue that regroups all that needs to be done for releasing 0.9.