solved diamond inheritance problem