added transitive loader utility