move the moving stuff to a mixin