Make it extendable with hooks

Add hooks in strategic places