more robust implementation, ensure that refreshing the page doesn't screw guest users, clean up account claim process