Refactoring : adding cascade delete management