refactor base screen