added SplObjectStorage