minor but does this BFPP get called multiple times? the null check may be redundant