scratch function: temporary workspaces