https://medium.com/@iamRadhaKulkarni/mastering-verilog-implementing-a-2-1-multiplexer-mux-0152b86c87ab