There are several forms of indigenous language education programs in Canada. Core language programs teach an indigenous language for one class period per day, while immersion programs fully integrate the indigenous language into all classes. Language nests are preschool immersion programs conducted entirely in the indigenous language. Some schools, like the Akwesasne Freedom School, are fully immersed language schools that aim to incorporate indigenous language and culture into all aspects of education to reverse cultural assimilation and ensure language survival. Bilingual programs teach students to be fluent in both an indigenous language and English. Challenges to maintaining indigenous languages include a lack of community and financial support along with few remaining fluent speakers.