updated to stable doctrine