#126 refactored dvr object to pseudo abstract implementation
#126 added detection for version 3.9 for new api