revising elaborate pass compile