added a bunch of TODOs