refactor to suppor other jobsite