4th draft, added remaining TODOs