better docs and demo