refactor code to make jit act more like numba.jit,

when a function is decorated with '@jit', it will compiled on fly then
become a jitted function