added a toString method