fix recipient model and recipient factory