Use nullptr where suitable.
Simplify code through C++11 semantics.
Handle invalid files better.