Switched move to vectors, still needs to be granular though. Consider abstracting further. Lots more to do...