needs os for absolute path