added setFirstVisiblePosition