Are these H-Bridges correct?

I'm a beginner at electronics, any any feedback would be helpful. So, the basic rundown: I have two motors, and I would like to run them both backwards and forwards, so I need an h-bridge circuit. However, I'm not sure if I am wiring them correctly.

Here are the h-bridges:

The D pins refer to pins on an Arduino UNO, which are capable of digital writing.

Here's my thinking:
On Motor 1, if I want to move it forward, I will turn on Digital Pin 1, and turn off Digital Pin 3. If I want to move it backwards, I will turn Digital Pin 1 off, and Digital Pin 3 off.

Okay, so I have changed all the upper N-MOSFETs to P-MOSFETs, each MOSFET is connected to its own individual pin. If I understand correctly, I will need to use delays when programming in Arduino so I can control all the gates properly. Here's the updated schematic:

Is there anything else that I need to change, or have missed?

Is there a pressing reason for rolling your own h-bridge? There must be a zillion different chips to do what you need.....

I would just like to make sure I have the concept of h-bridges down before I use simply a chip, that's all.