add viewUser function and some bug wait to fix