add docs and todo comments