moved toString method to end