Declarative linking reading

Happy with your changes, tests pass locally as a sanity check.