states functional