Faits: Faits: A. A.a En décembre 1998, A._, alors domicilié à Berlin, a chargé B._ d'entreprendre des travaux de rénovation complète dans l'appartement de sept pièces qu'il venait d'acquérir au 8ème étage d'un immeuble, à Genève. Le 10 décembre 1998, B._ a établi un premier budget portant sur les travaux indispensables (295'333 fr. hors taxe) et un second portant sur les travaux complémentaires qu'il préconisait (84'040 fr. hors taxe). Le 15 décembre 1998, les parties ont signé un contrat d'entreprise; l'ensemble des travaux de rénovation de l'appartement était confié à B._; les travaux étaient définis par un plan déjà établi et par un descriptif encore à établir (art. 2); le descriptif fixait le prix, lequel était accepté par les parties, étant précisé que A._ n'accepterait aucun dépassement de ce prix (art. 3). Les parties ont signé au cours du mois de janvier 1999 un budget d'un montant total de 398'526 fr. hors taxe. Constatant que le prix unitaire au mètre n'était qu'approximatif et que le prix ne devenait définitif qu'après le choix des matériaux par le maître, la cour cantonale a retenu qu'il s'agissait d'un budget estimatif. A.b Au gré de leurs visites à Genève entre janvier et juin 1999, A._ et son épouse ont arrêté leurs choix. Ces choix ont encore été modifiés s'agissant des matériaux, de l'équipement et des sanitaires; A._ a en particulier commandé une installation de télévision de haute fidélité. Ces modifications ainsi que ces choix complémentaires ont engendré des plus-values. L'ouvrage a été livré le 1er septembre 1999. Le 17 septembre suivant, A._ s'est plaint du retard dans la livraison; il n'a pas fait référence à des travaux qui n'auraient pas été commandés. Après avoir reçu un résumé chronologique de l'évolution des travaux et les procès-verbaux de chantier, A._ - qui s'était acquitté d'acomptes à hauteur de 405'000 fr. - a demandé à B._ le 5 octobre 1999 de lui faire parvenir sa facture finale, précisant qu'il n'en connaissait pas le solde. Le 11 novembre 1999, B._ a fait parvenir à A._ huit factures pour un montant total de 743'313 fr. 05, toute taxe comprise. A._ a contesté ces factures, niant notamment l'existence de modifications importantes du contrat et rappelant qu'il avait signé un contrat avec un prix fixe. Le 11 novembre 1999, B._ a fait parvenir à A._ huit factures pour un montant total de 743'313 fr. 05, toute taxe comprise. A._ a contesté ces factures, niant notamment l'existence de modifications importantes du contrat et rappelant qu'il avait signé un contrat avec un prix fixe. B. Le 14 avril 2000, B._ a assigné A._ en paiement de 338'313 fr. 05 avec intérêts à 6% dès le 11 décembre 1999. A._ a conclu au rejet de l'action. Il a toutefois demandé qu'il lui soit donné acte de ce qu'il était disposé à payer le montant des devis du 10 décembre 1998, la facture pour l'installation du téléviseur et de la stéréophonie, ainsi qu'un montant global supplémentaire de 164'241 fr. 63. En outre, il a prétendu à la condamnation de B._ au paiement d'une indemnité pour retard dans la livraison de l'ouvrage (76'500 fr.) et pour paiement de frais d'hôtel (10'000 fr.), concluant à l'autorisation de compenser ces montants à due concurrence. Par jugement du 8 mai 2003, le Tribunal de première instance de Genève a condamné A._ à payer à B._ la somme de 338'313 fr. 05 avec intérêts à 5% dès le 11 décembre 1999. Ce jugement a été confirmé par arrêt de la Cour de justice du 16 janvier 2004. A titre préalable, la cour cantonale a rejeté les conclusions du défendeur, relatives à l'audition de témoins et à la production d'une nouvelle expertise judiciaire. Elle a en effet statué que, par le biais d'une appréciation anticipée des preuves, de telles mesures probatoires n'étaient pas pertinentes pour l'issue du litige. Sur le fond, la cour cantonale a retenu en substance que les parties avaient convenu le 15 décembre 1998 d'un prix forfaitaire à définir, mais que le budget du 21 décembre suivant n'était qu'estimatif: ainsi, les parties avaient modifié le contrat initial en ce sens que le prix n'était plus fixé à forfait, mais en fonction de la valeur des matériaux et du travail; constatant que le défendeur avait non seulement passé commande de tous les travaux exécutés mais les avait encore acceptés, la cour a retenu que l'action en paiement était fondée dans son principe; s'agissant du montant des factures, les juges cantonaux ont suivi l'avis de l'expert judiciaire selon lequel les prix fixés se situaient dans la fourchette des prix pratiqués par la profession. Enfin, la Cour de justice a écarté toute l'argumentation liée à d'éventuels frais pour retard dans la livraison de l'ouvrage. A titre préalable, la cour cantonale a rejeté les conclusions du défendeur, relatives à l'audition de témoins et à la production d'une nouvelle expertise judiciaire. Elle a en effet statué que, par le biais d'une appréciation anticipée des preuves, de telles mesures probatoires n'étaient pas pertinentes pour l'issue du litige. Sur le fond, la cour cantonale a retenu en substance que les parties avaient convenu le 15 décembre 1998 d'un prix forfaitaire à définir, mais que le budget du 21 décembre suivant n'était qu'estimatif: ainsi, les parties avaient modifié le contrat initial en ce sens que le prix n'était plus fixé à forfait, mais en fonction de la valeur des matériaux et du travail; constatant que le défendeur avait non seulement passé commande de tous les travaux exécutés mais les avait encore acceptés, la cour a retenu que l'action en paiement était fondée dans son principe; s'agissant du montant des factures, les juges cantonaux ont suivi l'avis de l'expert judiciaire selon lequel les prix fixés se situaient dans la fourchette des prix pratiqués par la profession. Enfin, la Cour de justice a écarté toute l'argumentation liée à d'éventuels frais pour retard dans la livraison de l'ouvrage. C. A._ recourt en réforme auprès du Tribunal fédéral. Il conclut à l'annulation de l'arrêt du 16 janvier 2004 et principalement au déboutement de B._ de toutes ses conclusions, subsidiairement au renvoi de la cause à l'instance cantonale. B._ propose le rejet du recours et la confirmation de l'arrêt attaqué. La cour cantonale ne formule pas d'observations.