making sure the injection is recursive