Doctrine implementation