Melt the butter and add the flour. Whisk them together over medium heat and let them cook for a minute starting from the point where they start to bubble.
Take off the heat and add the milk little by little, whisking in between. This helps avoid lumps forming.
Take back to medium heat and cook while we stir with the whisk. Once it has started to boil you can turn off the heat since it means the flour has now completely cooked.
Add the cheeses and mix until completely melted.
Taste and adjust the level of salt and add pepper.
Mix the sauce with the macaroni.