use cached mappings when printing details (this introduces dependencies
that should actually be avoided)
refactor logging code
reusing sub-mapping details, clean up