Re-writing the extension code to work better with base class function calls.