rewrite the JobInfo related struct, leave a lot compiler error to fix