refactor components between role::workstation and profile::lab