moveable and better test-case

Objects are now moveable and have better support for references
moveable and better test-case