Two lists (matrixes) are given:
a = {{x1, y1}, {x2, y2}, {x3, y3}};
b = {{u1, v1}, {u2, v2}, {u3, v3}};
Expected return:
c = {{{x1, u1}, {y1, v1}}, {{x2, u2}, {y2, v2}}, {{x3, u3}, {y3, v3}}}
Please, help to solve this.
Useful references are also welcome.
Added:

ArrayFlatten[]orMapThread[]andTranspose[]. – J. M.'s missing motivation May 26 '15 at 16:24