implemented remove() - slow, far from perfect, improvements to be done