integrate with doctrine