wrapped client-side users in method, only get user when requested, then cache