Refact fabric constructor