re-factory model