Sachverhalt:
Sachverhalt:
A. D._, geboren 1945, arbeitete von 1979 bis zu seiner Entlassung wegen Personalabbaus per Ende Januar 1998 für die Firma F._ AG; in der Folge war er arbeitslos und bezog Leistungen der Arbeitslosenversicherung. Am 30. November 2000 wurde ihm ein Bypass eingesetzt; anschliessend war er bis zum 30. Dezember 2000 hospitalisiert. Am 27. Juni 2001 meldete sich D._ bei der Invalidenversicherung zum Leistungsbezug an, worauf die IV-Stelle des Kantons St. Gallen Abklärungen in erwerblicher und medizinischer Hinsicht vornahm (insbesondere Gutachten des Ärztlichen Instituts B._ vom 23. Mai 2002 mit psychiatrischer Untersuchung vom 7. Mai 2002). Nach durchgeführtem Vorbescheidverfahren, in welchem die Verwaltung eine interne Stellungnahme ihres Berufsberaters einholte, lehnte die IV-Stelle mit Verfügung vom 28. November 2002 den Anspruch auf eine Invalidenrente ab, da ein rentenausschliessender Invaliditätsgrad von 36 % vorliege; implizit lehnte sie auch die Ausrichtung beruflicher Massnahmen ab.
A. D._, geboren 1945, arbeitete von 1979 bis zu seiner Entlassung wegen Personalabbaus per Ende Januar 1998 für die Firma F._ AG; in der Folge war er arbeitslos und bezog Leistungen der Arbeitslosenversicherung. Am 30. November 2000 wurde ihm ein Bypass eingesetzt; anschliessend war er bis zum 30. Dezember 2000 hospitalisiert. Am 27. Juni 2001 meldete sich D._ bei der Invalidenversicherung zum Leistungsbezug an, worauf die IV-Stelle des Kantons St. Gallen Abklärungen in erwerblicher und medizinischer Hinsicht vornahm (insbesondere Gutachten des Ärztlichen Instituts B._ vom 23. Mai 2002 mit psychiatrischer Untersuchung vom 7. Mai 2002). Nach durchgeführtem Vorbescheidverfahren, in welchem die Verwaltung eine interne Stellungnahme ihres Berufsberaters einholte, lehnte die IV-Stelle mit Verfügung vom 28. November 2002 den Anspruch auf eine Invalidenrente ab, da ein rentenausschliessender Invaliditätsgrad von 36 % vorliege; implizit lehnte sie auch die Ausrichtung beruflicher Massnahmen ab.
B. Die dagegen erhobene Beschwerde hiess das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 20. November 2003 teilweise gut, bejahte den Anspruch auf Arbeitsvermittlung und wies die Sache an die Verwaltung zur Durchführung zurück.
B. Die dagegen erhobene Beschwerde hiess das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 20. November 2003 teilweise gut, bejahte den Anspruch auf Arbeitsvermittlung und wies die Sache an die Verwaltung zur Durchführung zurück.
C. D._ lässt Verwaltungsgerichtsbeschwerde führen mit den Anträgen, unter teilweiser Aufhebung des vorinstanzlichen Entscheides sei ihm mindestens eine halbe Rente der Invalidenversicherung mit Wirkung spätestens ab November 2000 zuzusprechen, eventualiter sei die Sache an die Vorinstanz oder die Verwaltung zur Vornahme weiterer Abklärungen zurückzuweisen.
Das kantonale Gericht und die IV-Stelle schliessen auf Abweisung der Verwaltungsgerichtsbeschwerde, während das Bundesamt für Sozialversicherung auf eine Vernehmlassung verzichtet.

Das Eidg. Versicherungsgericht zieht in Erwägung:
Das Eidg. Versicherungsgericht zieht in Erwägung:
1. 1.1 Wie das kantonale Gericht zu Recht festgehalten hat, ist das am 1. Januar 2003 in Kraft getretene Bundesgesetz über den Allgemeinen Teil des Sozialversicherungsrechts (ATSG) vom 6. Oktober 2000 im vorliegenden Fall nicht anwendbar, da nach dem massgebenden Zeitpunkt des Erlasses der streitigen Verfügung (November 2002) eingetretene Rechts- und Sachverhaltsänderungen vom Sozialversicherungsgericht nicht berücksichtigt werden (<ref-ruling> Erw. 1.2). Dasselbe gilt für die Bestimmungen der auf den 1. Januar 2004 in Kraft getretenen 4. IVG-Revision.
1.2 Nach <ref-law> gilt als Invalidität die durch einen körperlichen oder geistigen Gesundheitsschaden als Folge von Geburtsgebrechen, Krankheit oder Unfall verursachte, voraussichtlich bleibende oder längere Zeit dauernde Erwerbsunfähigkeit.
Nach <ref-law> hat der Versicherte Anspruch auf eine ganze Rente, wenn er mindestens zu 66 2/3 %, auf eine halbe Rente, wenn er mindestens zu 50 % oder auf eine Viertelsrente, wenn er mindestens zu 40 % invalid ist; in Härtefällen hat der Versicherte nach <ref-law> bereits bei einem Invaliditätsgrad von mindestens 40 % Anspruch auf eine halbe Rente.
Für die Bemessung der Invalidität wird gemäss <ref-law> das Erwerbseinkommen, das der Versicherte nach Eintritt der Invalidität und nach Durchführung allfälliger Eingliederungsmassnahmen durch eine ihm zumutbare Tätigkeit bei ausgeglichener Arbeitsmarktlage erzielen könnte, in Beziehung gesetzt zum Erwerbseinkommen, das er erzielen könnte, wenn er nicht invalid geworden wäre.
Für die Bemessung der Invalidität wird gemäss <ref-law> das Erwerbseinkommen, das der Versicherte nach Eintritt der Invalidität und nach Durchführung allfälliger Eingliederungsmassnahmen durch eine ihm zumutbare Tätigkeit bei ausgeglichener Arbeitsmarktlage erzielen könnte, in Beziehung gesetzt zum Erwerbseinkommen, das er erzielen könnte, wenn er nicht invalid geworden wäre.
2. Der vorinstanzliche Entscheid ist betreffend beruflicher Massnahmen ausdrücklich nicht angefochten worden, so dass diese nicht mehr Gegenstand des Verfahrens sind. Streitig ist deshalb allein der Anspruch auf eine Rente der Invalidenversicherung und in diesem Zusammenhang nur die Frage des für den Einkommensvergleich herbeizuziehenden Einkommens nach Eintritt des Gesundheitsschadens (Invalideneinkommen). Dagegen steht fest und ist zu Recht nicht bestritten, dass dem Beschwerdeführer aus medizinischen Gründen körperlich leichte Tätigkeiten mit einer psychisch bedingten Leistungseinbusse von 20 % zumutbar sind.
2.1 Das kantonale Gericht hat das Invalideneinkommen anhand der vom Bundesamt für Statistik herausgegebenen Schweizerischen Lohnstrukturerhebung festgesetzt und dabei auf die Durchschnittslöhne aller Branchen der Sektoren Produktion und Dienstleistungen abgestellt. Im Weiteren hat die Vorinstanz die Arbeitsunfähigkeit von 80 % sowie einen behinderungsbedingten Abzug von 15 % berücksichtigt.
2.2 Der Versicherte bringt zunächst vor, dass das Invalideneinkommen grundsätzlich so konkret wie möglich zu bestimmen sei; anlässlich seiner sechsmonatigen Tätigkeit im Rahmen eines Einsatzprogrammes der Arbeitslosenversicherung wäre es möglich gewesen, konkrete Abkärungen über den nach Eintritt des Gesundheitsschadens zu erzielenden Lohn vorzunehmen. Dies hätte zu einem tieferen Einkommen als von der Vorinstanz angenommen geführt.
Für die Festsetzung des Invalideneinkommens ist nach der Rechtsprechung primär von der beruflich-erwerblichen Situation auszugehen, in welcher der Versicherte konkret steht. Übt er nach Eintritt der Invalidität eine Erwerbstätigkeit aus, bei der - kumulativ - besonders stabile Arbeitsverhältnisse gegeben sind und anzunehmen ist, dass er die ihm verbleibende Arbeitsfähigkeit in zumutbarer Weise voll ausschöpft, und erscheint zudem das Einkommen aus der Arbeitsleistung als angemessen und nicht als Soziallohn, gilt grundsätzlich der tatsächlich erzielte Verdienst als Invalidenlohn. Ist kein solches tatsächlich erzieltes Erwerbseinkommen gegeben, namentlich weil die versicherte Person nach Eintritt des Gesundheitsschadens keine oder jedenfalls keine ihr an sich zumutbare neue Erwerbstätigkeit aufgenommen hat, so können nach der Rechtsprechung entweder Tabellenlöhne gemäss den vom Bundesamt für Statistik periodisch herausgegebenen Lohnstrukturerhebungen (LSE) oder die DAP-Zahlen herangezogen werden (<ref-ruling>75 Erw. 4.2.1 mit Hinweisen).
Unabhängig von der Frage, ob im Einsatzprogramm überhaupt ein marktüblicher Lohn bezahlt worden ist, und auch unabhängig von der Tatsache, dass es sich dabei nur um eine zeitlich begrenzte Tätigkeit gehandelt hat, kann auf das während des Einsatzprogrammes der Arbeitslosenversicherung erzielte Einkommen schon deshalb nicht abgestellt werden, weil es sich bloss um eine Beschäftigung im Umfang von 50 % gehandelt hat. Da der Versicherte aber unbestrittenermassen 80 % arbeitsfähig ist, hat er mit dieser Tätigkeit die ihm verbleibende Restarbeitsfähigkeit nicht in zumutbarer Weise voll ausgeschöpft. Im Weiteren stehen dem Beschwerdeführer auf dem massgebenden hypothetischen ausgeglichenen Arbeitsmarkt (<ref-law>) eine grosse Bandbreite unterschiedlichster einfacher und repetitiver Montage-, Kontroll- oder Überwachungsarbeiten in Industrie oder Gewerbe offen. Deren Löhne sind in den statistischen Angaben der Schweizerischen Lohnstrukturerhebung ausreichend dokumentiert, so dass für diese - sehr unterschiedlichen - Hilfsarbeiterstellen die in der Verwaltungsgerichtsbeschwerde erwähnte konkrete Abklärung weder notwendig noch überhaupt möglich ist.
2.3 Der Beschwerdeführer bringt weiter vor, dass im Fall der Anwendung der Schweizerischen Lohnstrukturerhebung nur die Angaben des Sektors Dienstleistungen oder bei der Heranziehung der Löhne der Sektoren Dienstleistungen und Produktion vorneweg ein Abzug von 10 % vorzunehmen sei. Dies wird damit begründet, dass im Sektor Produktion überwiegend - hier nicht mehr zumutbare - schwere Arbeiten oder zumindest solche mit Zwangspositionen verrichtet würden, was zu einem höheren Lohn führe; so lägen bei Anforderungsniveau 4 die Löhne im Dienstleistungssektor denn auch etwa 10 % unter denjenigen des Sektors Produktion.
Dieser Ansicht ist nicht zu folgen: Der Versicherte kann aufgrund seiner Restarbeitsfähigkeit (leichte Tätigkeiten im Umfang von 80 %) wenig anspruchsvolle Tätigkeiten in der ganzen Wirtschaft ausüben, dies insbesondere auch im Sektor Produktion, in welchem - wie die Vorinstanz in ihrer Vernehmlassung zu Recht vorbringt - der Einsatz von Maschinen die schweren körperlichen Hilfsarbeiten stark verdrängt hat und in der Folge mehr Überwachungs- und Kontrollarbeiten anfallen. Damit stehen dem Beschwerdeführer im Rahmen des ausgeglichenen Arbeitsmarktes nach <ref-law> auch in der Industrie resp. im gesamten Produktionssektor genügend Arbeitsplätze offen, welche in der Folge für die Bemessung des Invalideneinkommens zu berücksichtigen sind. Dass die Lohndifferenz zwischen den Sektoren Dienstleistungen und Produktion nicht allein auf der unterschiedlichen Schwere der Arbeit beruht, ergibt sich nicht zuletzt z.B. aus den Lohnangaben der Branchen Tabakverarbeitung sowie Verlag, Druck, Vervielfältigung (Schweizerische Lohnstrukturerhebung 2000 Tabelle A1 S. 31 Zeilen 16 und 22), welche im hier massgebenden Anforderungsniveau 4 (einfache und repetitive Tätigkeiten) höhere Durchschnitteinkommen aufweisen als diejenigen des Dienstleistungssektors. Die Meinung von Jürg Scheidegger, Rechtliche Rahmenbedingungen für die Verwendung von Tabellenlöhnen bei der Invaliditätsgradermittlung, in: René Schaffhauser/Franz Schlauri (Hrsg.), Rechtsfragen der Invalidität in der Sozialversicherung, St. Gallen 1999, S. 103, wonach sich der Arbeitsmarkt bei einer Einschränkung der Arbeitsfähigkeit auf körperlich leichte Tätigkeiten "auf Arbeiten im Dienstleistungsbereich unter Ausklammerung von produktionsnahen Tätigkeiten in Industrie und Gewerbe" beschränke, ist deshalb nicht überzeugend.
Da dem Beschwerdeführer somit zumutbare Tätigkeiten in den Sektoren Produktion und Dienstleistungen offen stehen, ist das Invalideneinkommen anhand der Durchschnittslöhne dieser Sektoren zu bestimmen; ein Abzug von 10 % hat nicht zu erfolgen. Gemäss Tabelle A1 der Schweizerischen Lohnstrukurerhebung 2000 betragen diese Werte für im privaten Sektor auf Anforderungsniveau 4 (einfache und repetitive Tätigkeiten) bei einer wöchentlichen Arbeitszeit von 40 Stunden beschäftigte Männer monatlich Fr. 4'598.-- resp. Fr. 4'127.-- brutto, was zu einem Durchschnitt von Fr. 4'362.50 monatlich und Fr. 52'350.-- jährlich führt. Umgerechnet auf die im Jahr 2000 in den Sektoren Produktion und Dienstleistungen durchschnittliche betriebsübliche Wochenarbeitszeit (Produktion: 41.4 Stunden, Dienstleistungen: 41.8 Stunden [Die Volkswirtschaft 1/2004 S. 94 Tabelle B9.2 Zeilen C-F und G-O], Durchschnitt: 41.6 Stunden) führt dies zu einem Jahreseinkommen von Fr. 54'444.--, was unter Berücksichtigung der Restarbeitsfähigkeit von 80 % einen Betrag von Fr. 43'555.20 ergibt.
2.4 In der Verwaltungsgerichtsbeschwerde wird schliesslich gerügt, durch die Vornahme eines behinderungsbedingten Abzuges von bloss 15 % habe die Vorinstanz wesentliche Kriterien nicht berücksichtigt: So sei zu beachten, dass neben der psychischen Einschränkung auch eine chronische Herzerkrankung, eine Bronchial-Übererregbarkeit sowie eine Staubempfindlichkeit vorliege; weiter sei bei Personen, die nur noch leichte körperliche Arbeiten ausführen könnten, ein Abzug von 10 % vorzunehmen, jedoch lägen zusätzliche körperliche Einschränkungen vor, so dass ein grösserer Abzug erfolgen müsse. Ausserdem sei der Versicherte 59 Jahre alt und befinde sich gegenüber jüngeren Konkurrenten auf dem Arbeitsmarkt klarerweise im Nachteil, was dadurch verstärkt werde, dass er vorher 19 Jahre beim gleichen Arbeitgeber gearbeitet habe und damit keine breite Erfahrung aufweise. Schliesslich sei zu berücksichtigen, dass es sich beim Beschwerdeführer um einen Ausländer handle. Unter diesen Umständen sei es gerechtfertigt, den Maximalabzug von 25 % vorzunehmen.
Gemäss Rechtsprechung können persönliche und berufliche Merkmale des Versicherten wie Alter, Dauer der Betriebszugehörigkeit, Nationalität oder Aufenthaltskategorie sowie Beschäftigungsgrad Auswirkungen auf die Höhe des Lohnes haben (<ref-ruling> Erw. 5a/cc mit Hinweis). Der deswegen vom Tabellenlohn vorzunehmende behinderungsbedingte Abzug beträgt jedoch nicht generell und in jedem Fall 25 %; es ist vielmehr anhand der gesamten Umstände des konkreten Einzelfalles zu prüfen, ob und in welchem Masse das hypothetische Invalideneinkommen gekürzt werden kann (<ref-ruling> f. Erw. 5b). Dieser gesamthaft vorzunehmende Abzug stellt eine Schätzung dar. Bei deren Überprüfung kann es nicht darum gehen, dass die kontrollierende richterliche Behörde ihr Ermessen an die Stelle der Vorinstanz setzt. Bei der Unangemessenheit gemäss Art. 132 lit. a OG geht es um die Frage, ob der zu überprüfende Entscheid, den die Behörde nach dem ihr zustehenden Ermessen im Einklang mit den allgemeinen Rechtsprinzipien in einem konkreten Fall getroffen hat, nicht zweckmässigerweise anders hätte ausfallen sollen. Allerdings darf das Sozialversicherungsgericht sein Ermessen nicht ohne triftigen Grund an die Stelle desjenigen der Verwaltung setzen; es muss sich somit auf Gegebenheiten abstützen können, welche seine abweichende Ermessensausübung als näher liegend erscheinen lassen (<ref-ruling> Erw. 6 mit Hinweis).
In Anbetracht der Umstände kann nicht davon gesprochen werden, dass der vom kantonalen Gericht auf 15 % festgesetzte behinderungsbedingte Abzug anders hätte ausfallen sollen, da die für den Entscheid notwendigen Gesichtspunkte berücksichtigt worden sind und der nicht erwähnte Aspekt der Teilzeitarbeit keinen erheblichen Einfluss auf die Gesamtbetrachtung (vgl. <ref-ruling> Erw. 5b/bb) hat:
- Der etwas eingeschränkte Gesundheitszustand ist im Rahmen des behinderungsbedingten Abzuges zu berücksichtigen, was die Vorinstanz denn auch getan hat.
- Das Alter des Versicherten (im Verfügungszeitpunkt November 2002 57 Jahre) fällt hier nicht stark ins Gewicht, da Hilfsarbeiten auf dem hypothetischen ausgeglichenen Arbeitsmarkt (<ref-law>) grundsätzlich altersunabhängig nachgefragt werden und sich das Alter in diesen Tätigkeiten auch nicht lohnsenkend auswirkt (AHI 1999 S. 242 Erw. 4c). Die in der Verwaltungsgerichtsbeschwerde angeführten praktischen Schwierigkeiten, eine Stelle zu finden, betreffen den realen Arbeitsmarkt; Erwerbslosigkeit wegen Alters vermag indes keinen Rentenanspruch zu begründen (AHI 1999 S. 243 oben und S. 238 Erw. 1) und ein Alter von 57 Jahren - d.h etwa acht Jahre vor der ordentlichen Pensionierung - verunmöglicht nicht das Finden einer Arbeitsstelle auf dem hypothetischen ausgeglichenen Arbeitsmarkt.
- Wenn der Beschwerdeführer während knapp zwanzig Jahren für den gleichen Arbeitgeber gearbeitet hat, muss dies nicht zwingend negativ im Sinne eingeschränkter Berufserfahrung gesehen werden, sondern kann im Gegenteil auch positiv gewertet werden, indem nur ein guter und verlässlicher Arbeiter während einer so langen Zeit beim gleichen Arbeitgeber tätig sein kann.
- Die Nationalität kann angesichts der Tatsache, dass die statistischen Löhne aufgrund der Einkommen der schweizerischen und der ausländischen Wohnbevölkerung erfasst werden, vernachlässigt werden (Urteil S. vom 16. April 2002, I 640/00 [Zusammenfassung in HAVE 2002 S. 308]). Damit kommt der in der Verwaltungsgerichtsbeschwerde angeführte Lohnunterschied zwischen Schweizern und Ausländern gemäss Schweizerischer Lohnstrukurerhebung 2002, S. 47 Tabelle A12, nicht zum Tragen, da sich die für das Invalideneinkommen herbeizuziehenden Angaben gemäss Tabelle A1 eben auch auf die ausländische Wohnbevölkerung stützen.
2.5 Damit ist vom Invalideneinkommen in Höhe von Fr. 43'555.20 (Erw. 2.3 hievor) ein behinderungsbedingter Abzug von 15 % vorzunehmen (Erw. 2.4 hievor), was zu einem massgebenden Einkommen nach Eintritt des Gesundheitsschadens von Fr. 37'021.90 führt.
Das Einkommen ohne Invalidität (Valideneinkommen) ist anhand des zuletzt im Jahr 1997 verdienten Einkommens von Fr. 58'186.-- und der bis ins Jahr 2000 eingetretenen Lohnentwicklung (1998: + 0.8 %, 1999: + 0.0 %, 2000: + 1.2 % [Bundesamt für Statistik, Lohnentwicklung 2002, S. 32 Tabelle 1.1.93 Zeile D; <ref-ruling>08]) auf Fr. 59'355.30 festzulegen. Damit resultiert für das Jahr des in der Verwaltungsgerichtsbeschwerde behaupteten Rentenbeginns 2000 ein rentenausschliessender Invaliditätsgrad von 38 % (zur Rundung: <ref-ruling>). In der darauf folgenden Zeit ist - unter Berücksichtigung der Lohnentwicklung - keine erhebliche Veränderung der hypothetischen Bezugsgrössen eingetreten (<ref-ruling>).

Demnach erkennt das Eidg. Versicherungsgericht:
Demnach erkennt das Eidg. Versicherungsgericht:
1. Die Verwaltungsgerichtsbeschwerde wird abgewiesen.
1. Die Verwaltungsgerichtsbeschwerde wird abgewiesen.
2. Es werden keine Gerichtskosten erhoben.
2. Es werden keine Gerichtskosten erhoben.
3. Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons St. Gallen, der Ausgleichskasse des Kantons St. Gallen und dem Bundesamt für Sozialversicherung zugestellt.
Luzern, 20. Juli 2004
Im Namen des Eidgenössischen Versicherungsgerichts
Die Präsidentin der III. Kammer: Der Gerichtsschreiber: