Observer pattern
ignore files