view swapping works