add merge
made code more understandable
fixed swap function
mister add
add firstNonrepeated()