all logic is done, will add functions for re-initializing games when I care enough