The way I've always made Macaroni Cheese, is to start off with a Roux sauce, made from flour, butter and milk.
You then add (after the roux is stirred out), cheese to your liking and make sure that it is still smooth and not
lumpy at all (you must keep stirring it).
You then pour the roux all over the cooked macaroni in a baking dish, cover this with bread-crumbs and a layer
of parmesan cheese and bake it until the top layer is crispy.