BOP compat rewritten; needs testing