implemented some reflection