object interface structure change [wip]