[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x

Assembly

An assembly language (or assembler language) is a low-level programming language for a computer or other programmable device in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling. Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code.

Share tech news, updates, or what's on your mind.

Sign up to Post

I have a .Net Framework (4.6.1) class library project (call it A).
Then I have a UWP app (call it B), and I want to use the code in A by referencing to A from B. But that is not possible. UWP apps are .Net Core and not compatible with .Net Framework.

So I created a .Netstandard 2.0.3 class library project (call it C), to be a proxy between A and B. I now reference from A (the UWP app) to C (the .Netstandard class library), and then from C to B (the .Net framework class library).

Everything compiles now, but when I run/debug the UWP app in Visual Studio I get the following error originating from the code in A:

System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.'

System.Web.ApplicationServices is a .Net Framework reference in A, and is not compatible with B. I was hoping to get around this by using .Net standard and C as a proxy between A and B.

Any suggestions on how to fix this?

Code examples won't help here, the code works fine, but not the integration between the various technologies.
0
Become a Certified Penetration Testing Engineer
LVL 12
Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

Accountant sends us tax returns as password protected PDFs (password needed to open it.  Properties says it was created with Thomson Reuters FileCabinet CS.  The security tab says I can print, copy contents, comment, etc (I can do everything execpt doc assembly and page extraction, whatever those are : )

I click on them in outlook, it opens in Acrobat Reader DC ( free version) - this is on a windows 10 pro machine by the way.

I want to keep a PDF without the password.  So print to PDF?  But they get sooo much larger

Working on it now, he sent a 24 page PDF that is 93kb

trying different apps:

microsoft print to PDF - 673kb
Tried printing with PDF Creator, but it balks because PDF is password protected (to open, and printing is allowed).  WTF!

http://forums.pdfforge.org/t/error-29101-printing-password-protected-pdf/13676

Tried opening in chrome.  printing w/ microsoft print to pdf made it a 5MB file!  And still can't use pdf creator.

What's a good combination for opening & printing a PDF or some other easy way to strip off password protection to open a PDF
0
I have an access database that I am converting to a vb.net project.  There are a few lines of script that are causing issues.  Mostly the DLookup conversion.  Any help at converting this script would be most appreciated.  Thank you in advance!

Here is the original VBA code:

Private Sub Form_Timer()
'On Error GoTo ErrTrap:
    Dim DB As Database
    Dim rs As Recordset
    Dim count As Integer
    Dim displayCount As Integer
    Dim formToOpen As String
    Dim stopTime As Date
    Dim nowTime As Date
    Dim WinWnd As Long
   
    'Determine if a member of management has set an alert message. If not, continue normal operations
    If DLookup("Alert", "AlertMessage", "Alert > 0") <> "" Then
       
        'Open the alert message
        DoCmd.OpenForm ("frmMessage")
       
    Else
   
        Call Form_Query
       
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
       
        'Run the NRFT screen for 1 minute, then open the safety message
        If runCount = 2 Then
            DoCmd.OpenForm ("Form1")
        End If
       
        'Close the safety message after 1 minute
        If runCount = 5 Then
            DoCmd.Close acForm, "Form1"
        End If
       

           
        If runCount >= 8 Then
       
       
            'Loop through all rows in the Content table where Active is set to yes
            'For Count = 0 To DCount("Active", "Content", …
0
I have an ASP.NET web forms project, currently running in .net 4.5 version. I am trying to migrate the source code to bitbucket. I pushed the code and compiled the project successfully. when I try to run the project, I get an runtime error shown below -

Could not load file or assembly <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral  ....

In the project, under references I see system.web.helpers.dll, but the inside the folder  (C:\documents\repos\myproject\bin\System.Web.Helpers.dll )  the dll is not there.

when i go to nuget package manager , and search for system.web.helpers.dll , I can't find it.

Questions -

1. Is this dll no longer available and is replaced by something else?
2. I suppose, when the project was created initially, a reference to dll was added to the project. and looking at the folder path for the dll in the project ( C:\documents\repos\myproject\bin\System.Web.Helpers.dll), when i did a clean build the dll must have been deleted . when the dll was added initially, was it supposed to be in the bin folder?
3. or was this dll availabe in older version of .net ? if i update the .net framework version, I would probably need to update other dlls too, which I am trying to avoid.
4. what are best practices in such situations?
0
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

using System.Collections.Generic;
using System.ComponentModel;

using System.Drawing;
using System.Text;
using System.IO;
using System.IO.Ports;
using System.Threading;
using System.Text.RegularExpressions;
using System;

public partial class StoredProcedures
{
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void SqlStoredProcedure1(string strPortName, string strBaudRate, String strPhone, String StrMsg)
    {
        try
        {
            bool sms_status;
        SerialPort port = new SerialPort();
        port.PortName = strPortName;
        port.BaudRate = Convert.ToInt32(strBaudRate);               //updated by Anila (9600)
        port.DataBits = 8;
        port.StopBits = StopBits.One;
        port.Parity = Parity.None;
        port.ReadTimeout = 300;
        port.WriteTimeout = 300;
        port.Encoding = Encoding.GetEncoding("iso-8859-1");
        //  port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
        port.Open();
        port.DtrEnable = true;
        port.RtsEnable = true;
        StoredProcedures p = new StoredProcedures();
        sms_status = p.sendMsg(port, strPortName, strBaudRate, strPhone, StrMsg);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

    public AutoResetEvent receiveNow;



    //Close Port
    public void ClosePort(SerialPort port)
    {
  

Open in new window

0
Hi Experts,

I have an application with a reference to Microsoft.SQLServer.BatchParser.dll
I have a problem when I install my application with batchparser (version 9 - SQL2005) and try to update it to batchparser (version 14 - SQL2017)

The assembly is in the directory of the application, but when I try to run the application I get the error message "Could not find file or assembly 'Microsoft.'SqlServer.BatchParser.dll' or one of its dependencies. The specified module could not be found".

Is it possible to update this assembly by copying it to the application directory? Because this is an update, I do not want to manually register or install anything.
I have tried building my application in x86 instead of AnyCPU, but still have the problem.
0
Create assembly [SMS_Attend]
from 'C:\Users\Muhammad\Documents\Visual Studio 2015\Projects\Database3\Database3\bin\Debug\Database3.dll'
with permission_set = unsafe

Open in new window


CREATE ASSEMBLY failed because it could not open the physical file 'C:\Users\Muhammad\Documents\Visual Studio 2015\Projects\Database3\Database3\bin\Debug\Database3.dll': 5(Access is denied.).

0
I have an assembly on a customer SQL Server that has been working for a year flawlessly
It passes data to a web service
Their server is a SQL 2008R2

I have the SAME Assembly loaded on a SQL 2008R2 of our own

Neither have been changed
All of a sudden the customer is timing out with the attached error

I can run the same process on my server virtually instantaneously

Any ideas?

Msg 6522, Level 16, State 2, Line 2
A .NET Framework error occurred during execution of user-defined routine or aggregate "EverywareGTG": 
System.NullReferenceException: Object reference not set to an instance of an object.
System.NullReferenceException: 
   at HelloEveryware.PassIn.GTG(String user, String token, String PID, String OID, String TSW_ID, String FirstName, String LastName, String IsOwner, String EmailAddress, String AccomName, String AccomAddress, String AccomState, String CheckinDate, String CheckinTime, String CheckoutTime, String AccomNights, String TourDate_Disp, String TourWave, String TourLocation, String ContactUsPhone, String DateAdded, String SendNow, String AccomCreationDate, String AccomPhone, String ActivitySeason, String CampaignName, String CancellationPeriod, String CheckinDate_Disp, String CheckInDayOfWeek, String CheckoutDate, String CheckoutDate_Disp, String ContactUsEmail, String ContactUsSignature, String OpenDate, String OpenExpirationDate, String OpenExpirationDate_Unix, String OpenMonths, String OwnerAgentName, String OwnerLottoPreferenceLevel, 

Open in new window

0
Hi,  I have another error in my .NET application.

"Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. "


Error
0
C# web service calling another .NET assembly using reflection
I use a web service to a run-time assembly call using C# Reflection.
The assembly is in Binary format in database. All records contains a binary data which is almost same in structure. It has a Start method in a class called 'MyAssembly'
First I loads assembly object using  the Binary data, then finds the type - MyAssembly from it and then calls a method 'Start'. The start will write the logs into a directory. This works entirely fine when we call from an executable. All executables goes into separate process ID and the results are getting.

Then calling the same step using a Web service hosted in IIS, the results are getting messed up. Simultaneous calls to the same method gets the results into different different calls.
Example: Method1 called using web service and the logs are writing into File1.
Method1 again called using different arguments and the logs are writing into File2.
When calling method1 two times at the same point of time using web service, gets the logs messed up, File1 details are showing in File2 and File2 are in File1. It is not only the logs issue bug also the execution are getting wrong that inner methods are not getting proper outputs and return values. Everything messed up.

When the web service is calling EXE program (Which is not allowed in so many conditions) - That is without finding out the method using reflection and then calling it, it just calls an exe program using …
0
Rowby Goren Makes an Impact on Screen and Online
LVL 12
Rowby Goren Makes an Impact on Screen and Online

Learn about longtime user Rowby Goren and his great contributions to the site. We explore his method for posing questions that are likely to yield a solution, and take a look at how his career transformed from a Hollywood writer to a website entrepreneur.

I'm following the example on https://docs.microsoft.com/en-gb/visualstudio/test/walkthrough-creating-and-running-unit-tests-for-managed-code
to learn about unit testing.
When I add the reference to Bank.sln I'm getting a message:

A reference to D:\Documents\UnitTesting\Bank\Bank.sln could not be added.  Please make sure that the file is accessible, and that it is a valid assembly or COM component.
Could it be because Visual Studio 2017 is installed on my C drive and this project is on my D drive?  I'm using C#.net
0
I want a program for 100ms dealy in 8086  microprocessor
0
LU Decomposition Write an assembly program that will perform LU decomposition on a matrix of double precision floating point numbers
0
We decided to upgrade to Exchange 2013 CU 19 from our Exchange 2010 Environment and introduced 1st Exchange 2013 C19 into the environment. However , emails are not flowing between our two environments [ i.e. between exchange 2010 and 2013]. OWA 2013 will say you dont have permission to perform this action , when test mailbox user on exchange 2013 mailbox database tries to send an email.

[ Exchange 2010 version is SP3 Rollup 9 and Exchange 2013 version is CU 19]

Exchange 2013 is multirole server and having issues with its transport service and it wont start. Attempt to restart it also results in failure.



We see this event EVENT 16023.

Microsoft Exchange couldn’t start transport agents. The Microsoft Exchange Transport service will be stopped. Exception details: Failed to create type ‘Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.TransportRuleAgentFactory’ from assembly ‘C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\agents\Rule\Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.dll’ due to error ‘Agent Transport Rule couldn’t load the rule collection.’. : Microsoft.Exchange.Data.ExchangeConfigurationException: Failed to create type ‘Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.TransportRuleAgentFactory’ from assembly ‘C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\agents\Rule\Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.dll’ due to error ‘Agent Transport Rule couldn’t load the rule collection.’.…
0
OWA stopped working.

The only error I have in Event viewer is the following:

Log Name:      Application
Source:        ASP.NET 2.0.50727.0
Date:          04-01-2018 11:45:13
Event ID:      1310
Task Category: Web Event
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      SERVER-CR.rp-sroc.local
Description:
Event code: 3008
Event message: A configuration error has occurred.
Event time: 04-01-2018 11:45:13
Event time (UTC): 04-01-2018 11:45:13
Event ID: 19f3c753447c413d9472b773800071ee
Event sequence: 1
Event occurrence: 1
Event detail code: 0
 
Application information:
    Application domain: /LM/W3SVC/1/ROOT/owa-4-131595399127484622
    Trust level: Full
    Application Virtual Path: /owa
    Application Path: C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\
    Machine name: SERVER-CR
 
Process information:
    Process ID: 1104
    Process name: w3wp.exe
    Account name: NT AUTHORITY\SYSTEM
 
Exception information:
    Exception type: HttpException
    Exception message: Could not load file or assembly 'Microsoft.Exchange.Data.Directory, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. (C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\web.config line 77)
 
Request information:
    Request URL: https://10.0.0.10:443/owa/auth/error.aspx?aspxerrorpath=/owa/ 
    …
0
I have a combination of Access applications currently in use. They are NOT garden variety. There are no bound forms or controls, and basically we are really just using Access as a platform from running VB. We have over 1600 stored procedures (or "Queries" if you prefer), 360 tables, 200 forms and something approaching 700 pages of code. This total is held down significantly by the use of data driven query assembly and report generation.

Unfortunately, Access simply can't work with remote data servers. Our back end databases were moved to a remote location as a precaution during Hurricane Irma and we couldn't even open them. Attempts to run Access over VPN connections are a frustration clinic. I have even created a local Job Queue to run jobs requested by users in remote locations.

Equally unfortunate is the fact that at some point we will lose our local server. So between now and then, I need to find a development platform that will still allow all of the robust functionality we have in Access, but will also us to use back end data files at remote data centers. Most of the advertised "Access Alternatives" appear to be fine if you are replacing an app with 5 tables, three forms and 10 queries. We need something that will continue to allow us to build powerful applications for a non-developer user population. And the whole team is 2 people!

Suggestions welcome!
0
I have created CLR using C# and i have added to successfully to database to my CLR.
But when i'm try to run error message is showin

Error

Msg 6522, Level 16, State 1, Procedure SendOrdersAPI, Line 9
A .NET Framework error occurred during execution of user-defined routine or aggregate "SendOrdersAPI":
System.InvalidOperationException: Invalid attempt to read when no data is present.
System.InvalidOperationException:
   at System.Data.SqlClient.SqlDataReader.CheckDataIsReady(Int32 columnIndex, Boolean allowPartiallyReadColumn, Boolean permitAsync, String methodName)
   at System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn)
   at System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
   at System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
   at ManCLR.dbConnection.username()
   at ManCLR.SendOrderOMS.SendOrdersTOAPI(String OrderNumber, Int32 TotalNumberLine)
   at ManCLR.DenManMain.sendOMS(String OrderNumber, String username)

CREATE PROCEDURE SendOrdersAPI
(
@OrderNumber nvarchar(MAX),
@username nvarchar(MAx)
)
AS 
EXTERNAL NAME ManCLR.[ManCLR.ManMain].sendAPI
GO

EXEC SendOrdersAPI  'Test123','sa'

Open in new window


And also i used following commands in the Sql server to add assembly

CREATE ASSEMBLY SMdiagnostics AUTHORIZATION dbo FROM 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SMdiagnostics.dll' WITH permission_set = unsafe
CREATE ASSEMBLY [System.Web] AUTHORIZATION dbo FROM …
0
System.ArgumentOutOfRangeException was unhandled
  HResult=-2146233086
  Message=InvalidArgument=Value '0' não é um valor válido para 'SelectedIndex'.
Nome do parâmetro: SelectedIndex
  Source=System.Windows.Forms
  ParamName=SelectedIndex
  StackTrace:
       em System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
       em RemoteConsole.MainForm.AddMailTypeList(List`1 typeList) na D:\zhyz\Server Source\RemoteConsole\RemoteConsole\MainForm.cs:linha 124
       em RemoteConsole.Program.Main() na D:\zhyz\Server Source\RemoteConsole\RemoteConsole\Program.cs:linha 74
       em System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       em System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       em Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       em System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       em System.Threading.ThreadHelper.ThreadStart()
  InnerException:


Code:        public void …
0
I have an Azure website that has been working perfectly. It is connected to an Azure SQL Database. I was informed that the print to PDF is no longer working and throwing the attached error.   I've checked the Microsoft.SqlServer.Types, Version and in my Bin I'm using version 11. Here's the rub. I need to get this resolved ASAP however the freelancer I used on this project is no longer available or in this country. I'm not certain that the solution that I have for this site is the most recent that was deployed. What's the best way to go about resolving this issue with the information I have provided thus far? That being said I'm afraid that if I attempt this without some serious insight I'll make it much worse. I'm not opposed to paying for assistance however if this is something that I can fix by possibly redeploying perhaps just the Bin files. I'm a database guy and not really a .net.

Thank You in advance.
Error.png
0
Build an E-Commerce Site with Angular 5
LVL 12
Build an E-Commerce Site with Angular 5

Learn how to build an E-Commerce site with Angular 5, a JavaScript framework used by developers to build web, desktop, and mobile applications.

System.BadImageFormatException occurred
  HResult=0x8013101B
  Message=Could not load file or assembly 'Interop.MakeCardp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
  Source=<Cannot evaluate the exception source>
  StackTrace:
<Cannot evaluate the exception stack trace>

I've  VB.NET application  that uses a Vb6 activex in VS2010 without problems. I've moved that app to VS2017 (idem framework 3.5,  platform and target cpu x86) and now I get the error above.

any suggestions?
0
HP Prolint ML330 G6
The server powers on, and after checking the RAM it gives:
error 1611 - system zone fan assembly failure detected
cooling solution not sufficient
shutdown after 5 seconds.

How to rectify the problems
1
Thank you for looking at my question,

I have a php page that when it opens runs a query against a MySQL table - currently not a huge table, contains three rows of data, and writes the data to an array.
	$queryAssembly = "SELECT ProductionOrderTube, Meter, TubeAssembly, WiredInner FROM tblTubeAssembly_Base ORDER BY ProductionOrderTube DESC";
	$resultAssembly = $conn->query($queryAssembly);
	if (!$resultAssembly) die($conn->error);
	
	$rowsAssembly = $resultAssembly->num_rows;

	for($i=0; $i<$rowsAssembly; $i++){
		$AssemblyArray[$i][0] = $resultAssembly->fetch_Assoc()['ProductionOrderTube'];
		$AssemblyArray[$i][1] = $resultAssembly->fetch_Assoc()['Meter'];
		$AssemblyArray[$i][2] = $resultAssembly->fetch_Assoc()['TubeAssembly'];
		$AssemblyArray[$i][3] = $resultAssembly->fetch_Assoc()['WiredInner'];
	}

Open in new window


When I display the results to the screen using:
	echo '<table border="1">';
		echo '<tr>';
			echo '<td>$i</td><td>Prodn Order</td><td>Meter</td><td>Tube Ass</td><td>Wired Inner</td>';
		echo '</tr>';
		
		for($i=0; $i<$rowsAssembly; $i++){
			echo '<tr>';
				echo '<td>' .$i. '</td>';
				echo '<td>' .$i. ' ... ' .$AssemblyArray[$i][0]. '</td>';
				echo '<td>' .$i. ' ... ' .$AssemblyArray[$i][1]. '</td>';
				echo '<td>' .$i. ' ... ' .$AssemblyArray[$i][2]. '</td>';
				echo '<td>' .$i. ' ... ' .$AssemblyArray[$i][3]. '</td>';
			echo '</tr>';
		}
	echo '</table>';

Open in new window

Instead of getting three rows of four elements, the first row of the display table contains the Prodn Order number from the first row of the SQL table, the meter from the second row of the sql table, the tube assembly from the third row and, because there isn't a fourth row, wired inner = 0.

The next two rows of the display table contain zeroes


I can't see what is causing this to happen. Please, somebody, point out what I've missed
0
hi experts,

i want to ask how to clean the nozzle use for dispensing epoxy in diebond /die attach process .(semiconductor industry)
0
Hello All,

I have two C# WinForm applications. When BOTH apps are running, I would like to use reflection in App A to get and set information in App B. I can do this already if App A uses refelection to load the App B assembly. Is there anyway to do the same if App B is already running?

Also, when I use reflection in App A to Load the App B Assembly, is App B still running in its own process? I don't see it in task manager, but I do see it on the desktop

Both App A and App B are forms
Windows 7 Pro 64
VS2013

Thanks very much,

Brian
0
There are whole operating systems(kolibriOS and menuetOS), bootloaders and applications written in assembly, but is there an on-screen keyboard program too?
I'd like to regularly use it with my touchscreen UMPC(tablet pc) across entire windows xp, and it also should have minimal-footprint of CPU, RAM, HDD(or use less than 10-20 MB of HDD).

+  is there any bios modders who made on-screen keyboard always working, at bios(UEFI, EFI) level(as optional, loadable module, maybe)?

+  And is there bios'es that have on-screen keyboard just being shown as overlay keyboard with hide/show button(like in DosBox on android), being independent from any OS, just like when you type security pin at BitLocker screen(https://h30434.www3.hp.com/t5/image/serverpage/image-id/141539iDCB9FE134F283644?v=1.0), or as transparently overlayed keyboard(like DosBox !)
surface-pro-3-uefi-administrator-pas.jpg
n0pDosboxFullKBDShow.bmp.png
maxresdefault.jpg
img_56a6c8a887698.png
0

Assembly

An assembly language (or assembler language) is a low-level programming language for a computer or other programmable device in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling. Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code.

Top Experts In
Assembly
<
Monthly
>

No Top Experts for this time period. Answer questions to earn the title!