update todo and layout algorithm (smoother)