Mostly works, still needs to deal with 3+ dimensional moves