implement translation