updateDBP, but it's a bit complicated