Stable functional version