Modified core functions to use file paths instead of open file descriptors to enable multiprogramming.