Added general functions class to wrap the methods on abstractdataset