reflection by danielchang
_