Applied proposed changes by Sven

* use std::make_shared
* do not return const refs
Ignore backup files