start to implement intermediate representation
implement intermediate translate framework