adding docs and boilerplate