Added many TODOs to see where the code needs cleanup etc