reflection api impl