introducing new object system