better user auth + class storage