refactor to simplify use of fu_p