add basic functionality and user guide