First movement implementation.

Doesn't work so well :DD