optimised getuser