abstract factory fix + server client task 5 test