refactored level of linking