reworking user get functions