added content navigation abstract class & compiler pass