add translate functional