internal frame