#5: Factory system improved again, functions number reduced, may still
need some improvement again.