Requested by @3dimensionalsystem. This was pretty tricky but in the best way possible.. also made me realise I need more agere requests omg