added documentation and demo page