separate link device abstraction from link faces