use a more OS-independent and idiomatic way to compose file paths