move reflect to utils