Refactor/use from fn wrapper