workstation refactor