js oo reflection and reivew