first version handle class