add hooks, getContext  has issue, using arguments passing instead.
Merge branch 'hooks'
hooks cleanup
0.2.12