Reverse DC Motor with 4 transistors

This is my take on Reversing the direction of a DC Motor without ICs or Relays. Probably a really bad way to do it.
For this project you will need:
- An Arduino (Any, really)
- Many jumper wires
- 4 NPN (I used BC546) transistors
- 1 Diode
- 1 DC Motor (Max 5V)