Extract method

ผมลองแยก swap กับ compare ออกมาจากกันครับ ได้โปรด review ด้วย -/\\-