Fixed move op=, some type clean-up