Adding object preservation and target depth options, improving equality checks