Moreover, classes in are all of the same order and rank. This divides irreducible polynomials into various classes For each f, a finite abelian group is constructed which acts transitively on Algorithms are given for finding generators for and a single element from each Thus one obtains an algorithm for producing all the irreducible polynomials of degree n and rank r over For example, normal irreducible polynomials are none other than polynomials of rank which are all obtained when A simple connection between cyclic codes and algebraic codes is established. Algebraic codes are fertile grounds for the production of codes with bounds better than that of Gilbert-Varshamov. Examples of algebraic codes with better than G-V bounds are provided.