initial implementation of remove2 - seems to short? Needs testing