implement intermediate translate framework