adding docs and code