added implementation without additional storage.