some preliminary  documentation, just enough to be understood ;)