seprate swap and scroll