external tools: port to stack API