Re-evaluated how sessions work, thanks to @dylwhich