If you want to deeply understand the Graner project here is all the necessary documentation to do so (in catalan):