recursive dependency fix