adding comments, added smart pointer class for moves, need to test v14