reflection by Kai Kim
_