more documentation
added TODO.md and fixed some tests