converted to a representation that does not treat programs as separate from functions; added codevectors