User DTO implementation + some refactor and dataset