functional KSM