see description

- save current scroll position in list after update
- refactoring