xxx fix transitive