implement roles of editor/viewer in work/view