some refactor with users