Extras

The requirements have since changed a bit, and I'm not in the mood to fix them today, but I provide this so you see how the requirements could be specified.