updated translation implementation

very slow