Initial version of the new guide
Add code to support cache, not done yet though
Fix a few bugs