added reswapping and better description underneath