functional systems