main instruction revamp