return a class object instead a tuple