re-organize, add link attributes, make silent version, export functions