documentation and more spec