add remove()
refactoring