Add water and salt to a pot and bring it to a boil. Add as much salt as needed until it tastes like sea water. This gives the macaroni flavor.
Add in your macaroni and cook until al dente or as tender as you want it. (8-10 minutes).
Once your macaroni is done, drain it and rinse under cold water to stop the cooking process.
Add your flour and butter to a pot and cook on medium heat for about 1-2 minutes.
Slowly add in your milk and whisk consistently to avoid any lumps.
Add in your salt, pepper, garlic powder, paprika, and cook until the sauce thickens or coats the back of your spoon.
Add in your cheese, 1 cup at a time and stir until the cheese has melted.
Stir in your macaroni, turn off your heat and rest for 5 minutes. The sauce will thicken as it cools. If you prefer less sauce, reduce the amount of milk added.
After resting, stir before serving.