doctrine generator