added some structure
added file watcher