add factor into the Unit to elimilate the if conditions