Moved extract implementation to base class