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.