adding watch functionality, using vinyl for file system stuff