override toString method with reflect