Implementation-level of a Turing machine that accepts a specific language
I will use two tapes with deterministic Turing Machine.

Say you have $123321233223321B$ on first tape as input, where B is blank symbol.

At first use three states counter and add some symbol to the second tape, say # every third symbol. Check whether input is divisible by 3 (otherwise reject).

After first iteration you have:
$123321233223321B$
$#####$

Here you do not reject, as it is divisible by 3.
Now move elements from first tape to second one. After this step you have:
$1233223321$
$12332$

Compare elements from second tape with first one (deleting from first one). After that step you have:
$23321$
$12332$

Place head on first tape at the beggining and head of second tape at the end. Compare char by char moving in oposite directions (erasing symbols). If anywhere during comparison there was a mismatch then reject, otherwise accept (if this is required leave something in the first tape at that point).