adapt to workspaces