huge update with lots of todos