complex object editing