Updated toString method, using StringBuilder()