TODO - FIX ENDINGS, FINISH REPLAY FUNCTION.