Added a move constructor, not sure if its correct.  Even less sure about the way I've used it