modularizing report node into reusable method improved error handling unwraping only on top level method utils methods accepts refs to remove clone() on top level methods
generic type matching to table name update type paths with some logging in tests