added __str__ to make debugging/logging easier