override the toString method