added a proper toString method