class abstractFactory -> trait factory & usages fixed