Todo update and restructure