improve docs; add more TODOs