documentation and demo