added toString() method