rewrote program type