functional solutions