implemented construct update/remove