added basic compile test
added on_change hook for #232