more creation/removal logic