here is some verilog