add toString methods for debugging