object states implemented