added template specialisation for std::string return of parameter
removed hardcoded device files and made them configurable
made path to data directory configurable