refactor screen client