update documentation and TODOs