Why do we have to do all this?  Isn't the filePath sufficient?