Code cleanup and add todo list