lines and swap version