improvements and remove()