merge from tool-api