two class share structure