backport LPOperations