I might actually attempt to make a CS for this at some point, but first is sleep.