prevented unnecessary abstraction cloning