An addition of move constructors and assignment operators and some parameter cleanup.