Preheat oven to 375 degrees. Grease a 13×9 baking dish with butter.
Grate all cheese into a large bowl.
Melt butter in large pan over medium heat. Whisk in flour for a minute or two until all mixed with butter. Whisk in half and half and milk for approximately 8 minutes or until thick. Stir in salt and pepper. Remove from heat.
Add half of grated cheese to flour and butter mixture. Mix until melted.
Add cooked elbow macaroni to cheese sauce and thoroughly mix. Add half of remaining grated cheese to macaroni and mix well. Pour entire macaroni mix into greased baking dish. Sprinkle remaining grated cheese on top of macaroni dish.
Place baking dish on top of sheet pan to prevent spillage. Bake for 30-35 minutes. The cheese on top of macaroni should be brown.