reworked file structure
learned about observers