add api documentation generator, need tests !