Added swap
Added reverse