add external link component (fixes #384)