subject
observer - display
main