Tested refactor, it does preserve layout
Updating the TODO list