added reflection method