add TODO.md and update .gitignore
update TODOs
merge latest changes from master