quantity generator functions
messing around / documenting