renamed to avoid document class conflict