cleanup dynamic linker, removing some code duplication