default implementation str