start to rewrite the documentation