set UID before use, or it will be null