internal frame functionality working