object orientained reflact