fixed some includes; fixed the move-assignment-opertaor when handling self assignment