complete implementing remove