workbench: break workspace and workbench into it's own header