changed inheritance in AbstractFixedObjet to implement IVisitable