1. Relative path
2. Using RW access to a file is a bad practice in general. Would be better to split into 1) read; and 2) analyze update; phases