Some very functional solutions