quick intro to functional principes