fix some problem with reflect func
no more case sensitive in request, add some error checking
code cleaning