refactored DBUser and User