fix the re-subscribe issue and implement internal removes