use synchronize via polymorphism