docs and demo examples