make sure current_single and viewed are always in range