why did president Madison veto a bill that calls funding internal bills

President James Madison vetoed a bill that called for funding internal improvements because he believed that the federal government did not have the constitutional authority to fund such projects. Madison was a strict constructionist, meaning he interpreted the Constitution narrowly and believed in limiting the powers of the federal government to those explicitly granted by the Constitution. The bill in question called for the federal government to provide funding for infrastructure projects like roads and canals, which Madison thought fell under the powers of the states rather than the federal government. He argued that the Constitution did not explicitly grant the federal government the authority to fund these internal improvements and that such funding should be left to the individual states.