a bunch of verilog modules